Unity道場 2019/06/27回
概要
VectorGraphicsで作るエモい表現
以下メモ
SVGインポート
ランタイムでのメッシュ生成
packageManagerからインポート
はい。
円形のSpriteを生成したい。
・図形データの用意
・テッセレーション
・メッシュ生成
このへんを自分でやる。
Scene/
Shape(塗り、線、重なり制御)/
BezierContour(曲線)/
BezierSegment(制御点)….
Clipper()/
…
VectorUtilsを活用するとよい。
・図形データの用意、曲線を生成する
var shape = new Shape();
shape.~~
・テッセレーション
オプションを設定する。
stepDistance値 で線の荒さが決まる。
で、ジオメトリを生成し、
-> Sprite
-> Sprite -> テクスチャ化
とか、もう2種類あるはず。
単純、規則的なものであればシェーダーの方がよい
こんな感じに文字列をSVGとしてパースできる
SVGParser.ImportSVG(StringReader(string));
SVG1.1準拠
SolidFIll のモードをOddEvenにすると穴として抜くことができる。
VectorGraphicsを使ってマスクを作る
SpriteMaskのマスクスプライトにセットするといい感じに抜ける。